home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Win Tutor 95
/
Win Tutor 95.iso
/
setup16
/
setup.mst
< prev
next >
Wrap
Text File
|
1995-08-03
|
12KB
|
417 lines
'**************************************************************************
'* Runtime Setup
'**************************************************************************
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'mscpydis.inc' ''System
'$INCLUDE 'msdetect.inc' ''Detects Avalilable Disk Space
''Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST OPTIONS = 800
CONST APPHELP = 900
CONST VIDUNFIT = 1000
CONST VIDINSTD = 1001
CONST AUDUNFIT = 1002
CONST CHECK = 2500
CONST SMALLWIN = 2200
CONST RESTART = 2600
CONST RESTARTII = 2700
CONST SMALLDEST = 6300
CONST BADPATH = 6400
GLOBAL MDEST$
GLOBAL TITLE$
GLOBAL ICONDESC$
GLOBAL ICONRMDESC$
''Bitmap ID
CONST LOGO = 1
GLOBAL SizeReq& '' Total Disk Size required for installation
''File Types
GLOBAL WinDir$
GLOBAL WinSysDir$
GLOBAL WINDRIVE$ ''Windows Drive Letter.
GLOBAL SrcDir$
GLOBAL CHECKSTATES$
GLOBAL OPTCUR$
GLOBAL AUDIO%
GLOBAL INSTVID%
GLOBAL NTDETECT%
DECLARE SUB Install
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
DECLARE SUB Reboot LIB "iniupd.dll"
DECLARE FUNCTION ExitWindowsExec LIB "User" (Exec$, Param$) AS INTEGER
DECLARE FUNCTION ParaExec LIB "PARASET.DLL" (A$, B$) AS INTEGER
DECLARE FUNCTION GetParaVideo LIB "PARASET.DLL" AS INTEGER
DECLARE FUNCTION GetParaAudio LIB "PARASET.DLL" AS INTEGER
DECLARE FUNCTION ParaAppendFile LIB "PARASET.DLL" (A$, B$) AS INTEGER
'' Startup
INIT:
''Paul: Change these constants for different installations
MDEST$ = "C:\WINTU95U"
TITLE$ = "WinTutor95U Setup"
ICONDESC$ = "WinTutor95U"
ICONRMDESC$ = "WinTutor95U Readme"
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
WIN32ENABLED% = 0
INSTVID% = 0
OPTCUR$ = "1"
AUDIO% = 0
MajorVer% = GetWindowsMajorVersion()
MinorVer% = GetWindowsMinorVersion()
SrcDir$ = GetSymbolValue("STF_SRCDIR")
WinDir$ = GetWindowsDir()
WinSysDir$ = GetWindowsSysDir()
IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software. Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
END IF
SetBitmap CUIDLL$, LOGO
SetTitle TITLE$
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
END IF
ReadInfFile szInf$
'' Do welcome dialog
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
'' Get destination path dialog
GETPATH:
SetSymbolValue "EditTextIn", MDEST$
SetSymbolValue "EditFocus", "END"
GETPATHL1:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
MDEST$ = GetSymbolValue("EditTextOut")
IF sz$ = "CONTINUE" THEN
IF IsDirWritable(MDEST$) = 0 THEN
GOSUB BADPATH
GOTO GETPATHL1
END IF
UIPop 1
ELSEIF sz$ = "REACTIVATE" THEN
GOTO GETPATHL1
ELSEIF sz$ = "BACK" THEN
UIPop 1
GOTO WELCOME
ELSE
GOSUB ASKQUIT
GOTO GETPATH
END IF
'' Check for space on selected drive
ClearCopyList
AddSectionFilesToCopyList "Paragon", SrcDir$, MDEST$
SizeReq& = GetCopyListCost ("","", "")
IF SizeReq& <> 0 THEN
GOSUB SMALLDEST
GOTO GETPATH
END IF
'' Prompt for audio quality
'OPTION:
' SetSymbolValue "RadioDefault", OPTCUR$
'OPTL1:
' sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
' OPTCUR$ = GetSymbolValue("ButtonChecked")
' IF sz$ = "CONTINUE" THEN
' UIPop(1)
' ELSEIF sz$ = "REACTIVATE" THEN
' GOTO OPTL1
' ELSEIF sz$ = "BACK" THEN
' UIPop 1
' GOTO GETPATH
' ELSE
' GOSUB ASKQUIT
' GOTO OPTION
' END IF
' IF OPTCUR$ = "2" THEN
' AUDIO% = 1
' END IF
'' Check for graphics capability and audio drivers loaded
i% = GetParaVideo()
IF i% = 1 THEN
VIDT1:
sz$ = UIStartDlg(CUIDLL$, VIDUNFIT, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO VIDT1
END IF
UIPop 1
ENDIF
i% = GetParaAudio()
IF i% = 1 THEN
AUDT1:
sz$ = UIStartDlg(CUIDLL$, AUDUNFIT, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO AUDT1
END IF
UIPop 1
ENDIF
'' Prompt for Video for Windows install
VIDINST:
sz$ = UIStartDlg(CUIDLL$, VIDINSTD, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
INSTVID% = 1
END IF
UIPop 1
'' Check for video size of vidinst
IF INSTVID% = 1 THEN
ClearCopyList
AddSectionFilesToCopyList "VfW Runtime", SrcDir$, WinSysDir$
AddSectionFilesToCopyList "OLE2", SrcDir$, WinSysDir$
AddSectionFilesToCopyList "ACM Drivers", SrcDir$, WinSysDir$
AddSectionFilesToCopyList "MPlayer", SrcDir$, WinDir$
AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
AddSectionFilesToCopyList "Indeo-ini", SrcDir$, WinDir$
SizeReq& = GetCopyListCost ("","", "")
IF SizeReq& <> 0 THEN
GOSUB SMALLWIN
END
END IF
IF OnWindowsNT() THEN
i% = DoMsgBox("This version of Video for Windows does not run on Windows NT.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
END IF
AddSectionFilesToCopyList "Paragon", SrcDir$, MDEST$
END IF
Install
'' Restart windows if video installed
IF INSTVID% = 1 THEN
RESTRT% = RestartListEmpty ()
Exe$ = DEST$ + "\_msrstrt.exe"
Batch$ = DEST$ + "\_mssetup.bat"
empty$ = ""
RESTART:
IF RESTRT% = 0 THEN
sz$ = UIStartDlg(cuidll$, RESTART, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO RESTART
ENDIF
I% = ExitExecRestart ()
RemoveFile Exe$, cmoForce
RemoveFile Batch$, cmoForce
END
ELSE
sz$ = UIStartDlg(CUIDLL$, RESTARTII, "FQuitDlgProc", 0, "")
IF sz$ = "CONTINUE" THEN
I% = ExitWindowsExec (Exe$, empty$)
IF I% = 0 THEN
GOTO RESTART
ELSE
END
ENDIF
ELSEIF sz$ = "EXIT" THEN
UIPopAll
END
ELSEIF sz$ = "REACTIVATE" THEN
GOTO RESTART
ELSE
UIPop 1
END IF
END IF
END IF
QUIT:
ON ERROR GOTO ERRQUIT
IF ERR = 0 THEN
dlg% = EXITSUCCESS
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "")
IF sz$ = "CONTINUE" THEN
UIPop 1
i% = ParaExec(MDEST$,"ammanati -F front.qc")
END
ELSEIF sz$ = "REACTIVATE" THEN
GOTO QUIT
ELSEIF sz$ = "BACK" THEN
UIPop 1
' i% = ParaExec(".\", "notepad.exe "+MakePath(MDEST$,"readme.doc"))
i% = ParaExec("", "notepad "+MakePath(MDEST$,"readme.doc"))
END
ELSE
END
END IF
END IF
IF ERR = STFQUIT THEN
dlg% = EXITQUIT
ELSE
dlg% = EXITFAILURE
END IF
QUITL1:
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO QUITL1
END IF
UIPop 1
END
ERRQUIT:
i% = DoMsgBox("An installation problem occured, call the product support service", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
'' Subroutine ask quit
ASKQUIT:
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
'' ERROR STFQUIT
END
ELSEIF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSE
UIPop 1
END IF
RETURN
'' Subroutine bad path
BADPATH:
sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO BADPATH
END IF
UIPop 1
RETURN
SMALLWIN:
sz$ = UIStartDlg(CUIDLL$, SMALLWIN, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO SMALLWIN
END IF
UIPop 1
RETURN
SMALLDEST:
sz$ = UIStartDlg(CUIDLL$, SMALLDEST, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO SMALLDEST
END IF
UIPop 1
RETURN
'**
'** Purpose:
'** Performs all installation operations.
'** Arguments:
'** none.
'** Returns:
'** none.
'*************************************************************************
SUB Install STATIC
IF EXISTS (MDEST$+"\*.*") THEN
kill MDEST$+"\*.*"
ENDIF
SetRestartDir WinDir$
CopyFilesInCopyList
''Updating WIN.INI and SYSTEM.INI
IF INSTVID% = 1 THEN
IF VflatdPresent() = 0 THEN
CreateSysIniKeyValue WinDir$ + "system.ini", "386Enh", "device", "dva.386", cmoOverwrite
END IF
CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV31", "indeov.drv", cmoOverwrite
CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MRLE", "MSRLE.drv", cmoOverwrite
I% = DoesIniKeyExist ("system.ini", "Drivers", "VIDC.RT21")
IF I% = 0 THEN
CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "indeov.drv", cmoOverwrite
END IF
CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.YVU9", "indeov.drv", cmoOverwrite
CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite
CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite
CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.00", cmoOverwrite
Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
Run ("regedit.exe /s " + MakePath(WinSysDir$, "OLE2.reg"))
Run ("regedit.exe /s " + MakePath(WinSysDir$, "cleanup.reg"))
'' Mplayer
CreateProgmanItem "Accessories", "Media Player", MakePath(WinDir$, "mplayer.exe"), "", cmoOverwrite
Run ("profdisp.exe")
END IF
CreateProgmanGroup "Softkey", "", cmoNone
ShowProgmanGroup "Softkey", 1, cmoNone
CreateProgmanItem "Softkey", ICONDESC$, MakePath(MDEST$,"ammanati")+" -F front.qc", "",cmoOverwrite
CreateProgmanItem "Softkey", ICONRMDESC$, "notepad.exe "+MakePath(MDEST$,"readme.doc"), "", cmoOverwrite
i% = ParaAppendFile(MDEST$+"\\default.qd", "_wrkdir "+CHR$(34)+MDEST$+CHR$(34))
i% = ParaAppendFile(MDEST$+"\\default.qd", "_cddir "+CHR$(34)+SrcDir$+"..\WT95"+CHR$(34))
END SUB
'**
'** Purpose:
'** Appends a file name to the end of a directory path,
'** inserting a backslash character as needed.
'** Arguments:
'** szDir$ - full directory path (with optional ending "\")
'** szFile$ - filename to append to directory
'** Returns:
'** Resulting fully qualified path name.
'*************************************************************************
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = szDir$ + szFile$
ELSE
MakePath = szDir$ + "\" + szFile$
END IF
END FUNCTION